package com.service.product;

import java.util.List;

import com.entity.DetailProduct;
import com.entity.Order;
import com.entity.OrderDetail;
import com.entity.User;
import com.utils.CartUtil;
import com.utils.Pager;

public interface OrderService {
	
	/**
	 * 生成订单
	 * @param cart
	 * @param user
	 * @param address
	 * @return
	 */
	public Order payShoppingCart(CartUtil cart,User user,String address);
	
	/**
	 * 添加一条订单信息
	 * @param order
	 * @return
	 */
	public int finAddOrder(Order order);
	
	/**
	 * 添加订单详情
	 * @param detail
	 * @return
	 */
	public int finAddOrderDetail(OrderDetail detail);
	
	/**
	 * 根据id查询订单记录数 || 查询所有订单
	 * @param id
	 * @return
	 */
	public int finuserByIdOrder(int id);
	
	/**
	 * 根据用户id查询用户订单
	 * @param userid
	 * @return
	 */
	public List<Order> finOrderList(int userid,Pager pager);
	
	/**
	 * 根据订单号获取订单详情信息！
	 * @return
	 */
	public List<DetailProduct> finOrderDetail();
	
	/**
	 * 获取订单总数
	 * @return
	 */
	public int finOrderDetailCount();
	
	/**
	 * 根据用户id分页模糊查询订单
	 * @param name
	 * @param userid
	 * @param pager
	 * @return
	 */
	public List<Order> finOrderListLike(String name ,int userid,Pager pager);
	
	/**
	 * 模糊查询订单总记录数
	 * @return
	 */
	public int finOrderLikeCount(String name, int userid);
}
